/**
 * Created by hao.cheng on 2017/4/14.
 */
import React, { Component, FormEvent } from 'react';
import { Form, Icon, Input, Button, Checkbox } from 'antd';
import { FormProps } from 'antd/lib/form';
const FormItem = Form.Item;

type NormalLoginFormProps = {} & FormProps;

class NormalLoginForm extends Component<NormalLoginFormProps> {
    handleSubmit = (e: FormEvent) => {
        e.preventDefault();
        this.props.form!.validateFields((err, values) => {
            if (!err) {
                console.log('Received values of form: ', values);
            }
        });
    };
    render() {
        const { getFieldDecorator } = this.props.form!;
        return (
            <Form onSubmit={this.handleSubmit} style={{ maxWidth: '300px' }}>
                <FormItem>
                    {getFieldDecorator('userName', {
                        rules: [{ required: true, message: '请输入用户名!' }],
                    })(
                        <Input
                            prefix={<Icon type="user" style={{ fontSize: 13 }} />}
                            placeholder="用户名"
                        />
                    )}
                </FormItem>
                <FormItem>
                    {getFieldDecorator('password', {
                        rules: [{ required: true, message: '请输入密码!' }],
                    })(
                        <Input
                            prefix={<Icon type="lock" style={{ fontSize: 13 }} />}
                            type="password"
                            placeholder="密码"
                        />
                    )}
                </FormItem>
                <FormItem>
                    {getFieldDecorator('remember', {
                        valuePropName: 'checked',
                        initialValue: true,
                    })(<Checkbox>记住我</Checkbox>)}
                    <span className="login-form-forgot" style={{ float: 'right' }}>
                        忘记密码
                    </span>
                    <Button
                        type="primary"
                        htmlType="submit"
                        className="login-form-button"
                        style={{ width: '100%' }}
                    >
                        登录
                    </Button>
                    或 <span>现在就去注册!</span>
                </FormItem>
            </Form>
        );
    }
}

const LoginForm = Form.create()(NormalLoginForm);

export default LoginForm;
